package com.lab.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lab.common.annotation.Excel;
import com.lab.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 用户违规记录对象 biz_appointment_violation_record
 *
 * @author cf
 * @date 2025-02-11
 */
public class AppointmentViolationRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 用户
     */
    @Excel(name = "用户姓名")
    private String userName;

    /**
     * 预约记录关联id
     */
    private Long appointmentId;

    /**
     * 实验名称
     */
    @Excel(name = "实验名称")
    private String courseName;

    /**
     * 违规描述
     */
    @Excel(name = "违规描述")
    private String violationDescription;

    /**
     * 违规发生时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "违规发生时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date violationDate;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setAppointmentId(Long appointmentId) {
        this.appointmentId = appointmentId;
    }

    public Long getAppointmentId() {
        return appointmentId;
    }

    public void setViolationDescription(String violationDescription) {
        this.violationDescription = violationDescription;
    }

    public String getViolationDescription() {
        return violationDescription;
    }

    public void setViolationDate(Date violationDate) {
        this.violationDate = violationDate;
    }

    public Date getViolationDate() {
        return violationDate;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    @Override
    public String toString() {
        return "AppointmentViolationRecord{" +
                "id=" + id +
                ", userId=" + userId +
                ", userName=" + userName +
                ", appointmentId=" + appointmentId +
                ", courseName=" + courseName +
                ", violationDescription='" + violationDescription + '\'' +
                ", violationDate=" + violationDate +
                '}';
    }
}
